package com.bmps.springcloud.insuredmicroservice.service.underwrite.strategy.accumulated;
import com.bmps.springcloud.insuredmicroservice.config.accept.ProductConfig;
import com.bmps.springcloud.insuredmicroservice.model.accept.resquest.AcceptRequestDataModel;
import com.bmps.springcloud.insuredmicroservice.model.accept.resquest.ProductModel;
import com.bmps.springcloud.insuredmicroservice.model.underwrite.InsuredModel;
import com.bmps.springcloud.insuredmicroservice.repository.underwrite.coresystem.InsuredCoreRepository;
import com.bmps.springcloud.insuredmicroservice.service.RedisService;

/**
 * 累计风险保额接口
 * @author lyw
 * @date 2019-07-30 09:39:10
 */
public interface AccumulatedStrategy {
    /**
     * 投核保规则校验
     *
     * @param acceptRequestDataModel 报文实体对象
     * @param   productModel 产品对象
     * @param  insuredCoreRepository 操作数据库对象
     * @param  redisService 操作Redis数据库对象
     * @param  productConfig 配置对象
     * @return  InsuredModel
     */
    InsuredModel checkAccumulatedRolesByRiskCode(AcceptRequestDataModel acceptRequestDataModel, InsuredCoreRepository insuredCoreRepository,
                                                 ProductModel productModel, RedisService redisService, ProductConfig productConfig);

}
